﻿//using System;
//using System.Web.Mvc;
//using NC.Data;
//using NC.ViewModels;
//using System.Web.Security;

//namespace NC.Controllers
//{
//    public class LogInController : Controller
//    {
//        //private readonly IAccountUserService _accountUserService;
//        private readonly AccountUserRepository _accountUserRepository;
//        public LogInController()
//        {
//            _accountUserRepository = new AccountUserRepository();
//        }

//        [HttpGet]
//        public ActionResult AutoLogin()
//        {
//            int id = Convert.ToInt32(Request.QueryString["userid"]);
//            var result = _accountUserRepository.GetAccountUserById(id);
//            Session.Add("Username", result.FirstName);
//            Session.Add("UserId", result.Id);
//            return RedirectToAction("Index");
//        }

//        /// <summary>
//        /// Validates the login information by calling service method to validate user
//        /// </summary>
//        /// <param name="users">User which is to be validated</param>
//        /// <returns></returns>
//        [HttpPost]
//        public ActionResult ValidateLogIn(UserLogin users)
//        {
//            if (ModelState.IsValid)
//            {
//                var result = _accountUserRepository.GetAccountUserByEmailId(users.Email);
//                if (result != null)
//                {
//                    if (result.Active)
//                    {
//                        if (result.Password == users.Password)
//                        {
//                            //TempData["username"] = result.FirstName;
//                            Session.Add("Username", result.FirstName);
//                            //Session.Add("Middle", result.MiddleName);
//                            Session.Add("UserId", result.Id);
//                            Session.Add("Email", result.Email);
//                            // ViewBag.FirstName = result.FirstName;
//                            return RedirectToAction("Index", "NepaliCorner");
//                            //return full form registration;    
//                        }
//                        else ViewBag.UError = NcMessage.UserNamenPassNotMatch;
//                    }
//                    else ViewBag.UError = NcMessage.NotAcitvated;
//                }
//                else ViewBag.UError = NcMessage.EmailNotFound;
//            }
//            return View("GetLoginPage");
//        }

//        public ActionResult Logout()
//        {
//            FormsAuthentication.SignOut();
//            Session.Abandon();
//            return RedirectToAction("Index", "NepaliCorner");
//        }

//        [HttpPost]
//        public ActionResult LogIn(UserLogin users)
//        {
//            if (ModelState.IsValid)
//            {
//                var result = _accountUserRepository.GetAccountUserByEmailId(users.Email);
//                if (result != null)
//                {
//                    if (result.Active)
//                    {
//                        if (result.Password == users.Password)
//                        {
//                            //TempData["username"] = result.FirstName;
//                            Session.Add("Username", result.FirstName);
//                            //Session.Add("Middle", result.MiddleName);
//                            Session.Add("UserId", result.Id);
//                            Session.Add("Email", result.Email);
//                            // ViewBag.FirstName = result.FirstName;
//                            //return View("CreatePost");
//                            //return full form registration;    
//                        }
//                    }
//                    else
//                        ViewBag.NcMess = NcMessage.AcitvateError;
//                    return PartialView();
//                }
//            }
//            return null;
//        }

//        public ActionResult GetLoginEmail()
//        {
//            return PartialView("Login");
//        }

//        /// <summary>
//        /// This returns LogIn page
//        /// </summary>
//        /// <returns></returns>
//        public ActionResult GetLogInPage()
//        {
//            return View("LogIn");
//        }      
//    }
//}
